package perucuy.dao;

import org.apache.log4j.*;

import perucuy.dao.sqlmap.*;

public abstract class DAOFactory {
    private static final Logger logger = Logger.getLogger(DAOFactory.class);
    
    public static enum Tipo {
        SQLMAP
    }
    
    public static DAOFactory getDAOFactory(Tipo tipo) {
        switch (tipo) {
            case SQLMAP:
                return SqlMapDAOFactory.getInstance();
        }
        return null;
    }
    
    public static DAOFactory getSqlMapDAOFactory() {
        logger.debug("obteniendo DAOFActory para SqlMap");
        return SqlMapDAOFactory.getInstance();
    }
    
    public abstract TareaDAO getTareaDAO();
    public abstract UsuarioDAO getUsuarioDAO();
    public abstract ConsultaDAO getConsultaDAO();
    public abstract UbicacionDAO getUbicacionDAO();
    public abstract RacionDAO getRacionDAO();
    public abstract NucleoDAO getNucleoDAO();
    public abstract ParametroDAO getParametroDAO();
    public abstract NutrienteDAO getNutrienteDAO();
    public abstract AlertaDAO getAlertaDAO();
    public abstract ReproductoraDAO getReproductoraDAO();

    public PartoDAO getPartoDAO() {
        return null;
    }
}
